package com.biscuit.page.basicservice.api;

import com.biscuit.common.annotation.RequestWhitelist;
import com.biscuit.common.base.BaseListResponse;
import com.biscuit.common.base.BaseResponse;
import com.biscuit.common.base.BaseResponseVoid;
import com.biscuit.page.basicservice.api.model.request.interview.InterviewMergeMaxFileAReq;
import com.biscuit.page.basicservice.api.model.response.interview.InterviewExcelMaxFileResolverAResp;
import com.biscuit.page.basicservice.api.model.response.interview.InterviewUploadMaxFileAResp;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author biscuit
 * @createTime 2024/7/2 14:36
 */
@Api(tags = "面试相关接口")
@RequestMapping("/interview")
public interface IInterviewRemote {

    @RequestWhitelist
    @PostMapping("/uploadMaxFile")
    @ApiOperation(value = "大文件上传（分片上传）")
    BaseResponse<InterviewUploadMaxFileAResp> uploadMaxFile(@RequestParam("file") MultipartFile multipartFile,
                                                            @RequestParam("fileName") String fileName,
                                                            @RequestParam("contentType") String contentType,
                                                            @RequestParam(value = "uploadId", required = false) String uploadId,
                                                            @RequestParam("index") Integer index,
                                                            @RequestParam("totalChunks") Integer totalChunks);

    @RequestWhitelist
    @PostMapping("/mergeMaxFile")
    @ApiOperation(value = "合并大文件分片")
    BaseResponse<InterviewUploadMaxFileAResp> mergeMaxFile(@RequestBody InterviewMergeMaxFileAReq req);


}
